package cn.iocoder.yudao.module.crossborder.order.dal.dataobject.orderpayment;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 跨境电商订单支付 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_order_payment")
@KeySequence("crossborder_order_payment_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPaymentDO extends BaseDO {

    /**
     * 支付编号
     */
    @TableId
    private Long id;
    /**
     * 订单编号
     */
    private Long orderId;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 支付单号
     */
    private String paymentNo;
    /**
     * 平台支付ID
     */
    private String platformPaymentId;
    /**
     * 支付方式
     */
    private String paymentMethod;
    /**
     * 支付渠道
     */
    private String paymentChannel;
    /**
     * 支付服务商
     */
    private String paymentProvider;
    /**
     * 支付类型（1全额支付 2部分支付 3分期支付）
     */
    private Integer paymentType;
    /**
     * 支付金额
     */
    private BigDecimal paymentAmount;
    /**
     * 支付货币
     */
    private String currencyCode;
    /**
     * 汇率
     */
    private BigDecimal exchangeRate;
    /**
     * 基础货币金额
     */
    private BigDecimal baseAmount;
    /**
     * 手续费
     */
    private BigDecimal feeAmount;
    /**
     * 网关费用
     */
    private BigDecimal gatewayFee;
    /**
     * 处理费用
     */
    private BigDecimal processingFee;
    /**
     * 净收金额
     */
    private BigDecimal netAmount;
    /**
     * 支付状态（10待支付 20支付中 30支付成功 40支付失败 50已退款 60部分退款）
     */
    private Integer paymentStatus;
    /**
     * 交易ID
     */
    private String transactionId;
    /**
     * 授权码
     */
    private String authorizationCode;
    /**
     * 参考号
     */
    private String referenceNo;
    /**
     * 支付时间
     */
    private LocalDateTime paymentTime;
    /**
     * 过期时间
     */
    private LocalDateTime expireTime;
    /**
     * 回调时间
     */
    private LocalDateTime callbackTime;
    /**
     * 回调数据JSON
     */
    private String callbackData;
    /**
     * 风险评分
     */
    private BigDecimal riskScore;
    /**
     * 风险等级（1低 2中 3高）
     */
    private Integer riskLevel;
    /**
     * 反欺诈检查结果JSON
     */
    private String fraudCheckResult;
    /**
     * 支付信息JSON
     */
    private String paymentInfo;
    /**
     * 错误代码
     */
    private String errorCode;
    /**
     * 错误信息
     */
    private String errorMessage;
    /**
     * 重试次数
     */
    private Integer retryCount;
    /**
     * 备注
     */
    private String remark;


}
